*******************************
Distncia entre cidades

> a <- c("Atenas-Madri", "Atenas-Paris", "Atenas-Estocolmo", "Madri-Paris", "Madri-Estocolmo", "Paris-Estocolmo") 
> a
[1] "Atenas-Madri"     "Atenas-Paris"     "Atenas-Estocolmo" "Madri-Paris"     
[5] "Madri-Estocolmo"  "Paris-Estocolmo" 
> b <- c(3949, 3000, 3927, 1273, 3188, 1827)
> b
[1] 3949 3000 3927 1273 3188 1827
> matriz.distancia <- data.frame (a,b)
> matriz.distancia
                 a    b
1     Atenas-Madri 3949
2     Atenas-Paris 3000
3 Atenas-Estocolmo 3927
4      Madri-Paris 1273
5  Madri-Estocolmo 3188
6  Paris-Estocolmo 1827

Comparando com eurodist
> table (matriz.distancia == eurodist)

FALSE 
   12 
**********************************************************************************

Criao de um data frame



fenotipo <- as.factor (rep(c("claro","escuro"), each=9))
> fenotipo
 [1] "claro"  "claro"  "claro"  "claro"  "claro"  "claro"  "claro"  "claro" 
 [9] "claro"  "escuro" "escuro" "escuro" "escuro" "escuro" "escuro" "escuro"
[17] "escuro" "escuro"


dieta1 <- rep(c("A","B","C"), each=3)
# repete o padrao A, B e C 3 vezes

> dieta <- as.factor (rep(dieta1, 2))
> dieta
 [1] A A A B B B C C C A A A B B B C C C
Levels: A B C
######Cria uma repetio duas vezes do dieta1 e deixar como fator tambm


> diferenca <- c(0.1 , 1.1 , 3.7, 5.7, -1.2, -1.5, 3.0, -0.4, 0.6, 1.5, -0.1, 2.0, 0.6, -3.0,-0.3, -0.2, 0.3, 1.5)

>hamsters <- data.frame(fenotipo, dieta, diferenca)
> hamsters
   fenotipo dieta diferenca
1     claro     A       0.1
2     claro     A       1.1
3     claro     A       3.7
4     claro     B       5.7
5     claro     B      -1.2
6     claro     B      -1.5
7     claro     C       3.0
8     claro     C      -0.4
9     claro     C       0.6
10   escuro     A       1.5
11   escuro     A      -0.1
12   escuro     A       2.0
13   escuro     B       0.6
14   escuro     B      -3.0
15   escuro     B      -0.3
16   escuro     C      -0.2
17   escuro     C       0.3
18   escuro     C       1.5

> aggregate(x=diferenca, by=list(dieta), FUN=mean)
  Group.1        x
1       A 1.383333
2       B 0.050000
3       C 0.800000
> aggregate(x=diferenca, by=list(fenotipo), FUN=mean)
  Group.1         x
1   claro 1.2333333
2  escuro 0.2555556


*****************************************************************************
Criando uma Matriz

> help (rnorm)
> rnorm(n, mean = 0, sd = 1)
> sd <- sqrt(3.6)
> sd
[1] 1.897367


> matriz <- matrix( rnorm(15, mean=10, sd=1.897367), nrow=3, ncol=5)
> matriz
         [,1]      [,2]      [,3]     [,4]      [,5]
[1,] 9.702717  8.308616 10.161903 8.814501  7.795630
[2,] 8.604512 10.831381  7.898768 7.695943  8.786865
[3,] 9.175366 10.785848  9.658139 9.555517 10.497370

> colnames (matriz) <- paste("C", 1:5, sep="")
#### colocado o sep=""para nao dar espao entre entre C e "nmeros"
> matriz
         C1        C2        C3       C4        C5
L1 9.702717  8.308616 10.161903 8.814501  7.795630
L2 8.604512 10.831381  7.898768 7.695943  8.786865
L3 9.175366 10.785848  9.658139 9.555517 10.497370

media.linhas <-c (apply(matriz, 1, mean))
> media.linhas
      L1       L2       L3 
8.956673 8.763494 9.934448 
> media.colunas <-c(apply(matriz, 2,mean))
> variancia.linha <-c(apply(matriz, 1, var))
> variancia.coluna <-c(apply(matriz,2, var))



media.linhas <-c (apply(matriz, 1, mean))
> media.linhas
      L1       L2       L3 
8.956673 8.763494 9.934448 
> media.colunas <-c(apply(matriz, 2,mean))
> variancia.linhas <-c(apply(matriz, 1, var))
> variancia.colunas <-c(apply(matriz,2, var))


> media <- c(media.linhas,media.colunas)
> variancia <- c(variancia.linhas,variancia.colunas)

> dados<-data.frame(media, variancia)
> dados
      Media Variancia
L1 8.956673 0.9493433
L2 8.763494 1.5473490
L3 9.934448 0.4594761
C1 9.160865 0.3016713
C2 9.975282 2.0838493
C3 9.239603 1.4118246
C4 8.688654 0.8763820
C5 9.026622 1.8679631


*************************************************

Lendo e salvando seus dados

> dir ()
[1] "animais.txt"        "animais2.csv"       "caixeta.csv"       
[4] "tutorial 3.R"       "vandersonexer3.txt"
> a <- read.table(file="animais.txt", sep=";", dec=",", head=TRUE, as.is=TRUE)
> a
                      body  brain
Mountain beaver      1.350    8.1
Cow                465.000  423.0
Grey wolf           36.330  119.5
Goat                27.660  115.0
Guinea pig           1.040    5.5
Dipliodocus      11700.000     NA
Asian elephant    2547.000 4603.0
Donkey             187.100  419.0
Horse              521.000  655.0
Potar monkey        10.000  115.0
Cat                  3.300   25.6
Giraffe            529.000  680.0
Gorilla            207.000  406.0
Human               62.000 1320.0
African elephant  6654.000 5712.0
Triceratops       9400.000     NA
Rhesus monkey        6.800  179.0
Kangaroo            35.000   56.0
Golden hamster       0.120    1.0
Mouse                0.023    0.4
Rabbit               2.500   12.1
Sheep               55.500  175.0
Jaguar             100.000  157.0
Chimpanzee          52.160  440.0
Rat                  0.280    1.9
Brachiosaurus    87000.000     NA
Mole                 0.122    3.0
Pig                192.000  180.0

> summary (a$body)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
    0.02     3.10    53.83  4278.00   479.00 87000.00 su
> summary (a$brain)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    0.4    12.1   157.0   632.5   423.0  5712.0     3.0 

> sd (a$body)
[1] 16480.49
> sd (a$brain)
[1] NA

########## selecione apenas um dos estado de uma varivel que seja fator e 
separe em um novo objeto. Salve-o na sua rea de trabalho e
 um arquivo formato texto, separado por tabulao e sem nome de linhas.

> body <- a$body
>  body
 [1]     1.350   465.000    36.330    27.660     1.040 11700.000  2547.000
 [8]   187.100   521.000    10.000     3.300   529.000   207.000    62.000
[15]  6654.000  9400.000     6.800    35.000     0.120     0.023     2.500
[22]    55.500   100.000    52.160     0.280 87000.000     0.122   192.000

> write.table (body, file="body.txt")
>  write.table(body, file = "body.txt", sept = ";")
Error in write.table(body, file = "body.txt", sept = ";") : 
  unused argument(s) (sept = ";")
> read.table("body.txt")
           x
1      1.350
2    465.000
3     36.330
4     27.660
5      1.040
6  11700.000
7   2547.000
8    187.100
9    521.000
10    10.000
11     3.300
12   529.000
13   207.000
14    62.000
15  6654.000
16  9400.000
17     6.800
18    35.000
19     0.120
20     0.023
21     2.500
22    55.500
23   100.000
24    52.160
25     0.280
26 87000.000
27     0.122
28   192.000

NO CONSEGUI TIRAR O NOME DAS LINHAS *************



************************************
Classe de objetos


> class (iris)
[1] "data.frame"
> class (iris3)
[1] "array"

> str (iris)
'data.frame':   150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
> str (iris3)
 num [1:50, 1:4, 1:3] 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 - attr(*, "dimnames")=List of 3
  ..$ : NULL
  ..$ : chr [1:4] "Sepal L." "Sepal W." "Petal L." "Petal W."
  ..$ : chr [1:3] "Setosa" "Versicolor" "Virginica"
> 
> 
##############
 Gostaria de saber o porqu de no ter dado certo com o aggregate

> aggregate(x=Sepal.Length, by=list(Species), FUN=mean)
Error in aggregate(x = Sepal.Length, by = list(Species), FUN = mean) : 
  object 'Sepal.Length' not found